Jump To:
Technical Q&As
System-level services in Mac OS X streamline the development process for audio developers, as well as for application developers who want to incorporate music and other audio media into their products. Core Audio provides native multichannel audio in a manner scalable for future high-resolution formats. The Audio Unit API provides a plug-in architecture for both DSP (audio in/audio out) and virtual instruments (MIDI in/audio out). MIDI services provide multiport MIDI capability.

Music & Audio Resources
A guided introduction and learning path for developers new to Mac OS X music and audio.  
Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Topic
Sort by
Date
Are the Name Registry device tree nodes unique? (HTML)
Deprecated - HW64: Discusses whether Name Registry nodes copied from the Open Firmware device tree are unique.
Device Drivers 1999-10-11
Audio Unit Resizing (HTML)
QA1343: Discusses the host's responsibilities when resizing Audio Units.
Core Audio 2004-03-23
AudioDevice sample rates (HTML)
QA1196: Getting, setting and converting sample rates with Audio Devices.
Core Audio 2003-12-09
AUGraphs and AudioUnit connections (HTML)
QA1174: Discusses AudioUnit connection issues when using more than one AudioUnit or an AUGraph.
Core Audio 2003-12-09
Available FireWire Isochronous Bandwidth (HTML)
QA1356: Discusses attempting to "pre-flight" an isochronous bandwidth allocation request by reading the currently available bandwidth.
Device Drivers, Hardware 2004-07-07
Avoiding Pauses When Looping Audio files with QuickTime (HTML)
QA1371: Demonstrates how to avoid pauses when looping audio files with QuickTime
Games 2004-09-08
Capturing Speech Manager Output (HTML) ()
Deprecated - SND15: Capturing the output from the Speech Synthesis Manager to a file.
Carbon 1998-05-18
Core Audio & Xcode - Ensuring the latest Core Audio Headers are installed (HTML)
QA1386: Describes how to ensure you're working with the latest Core Audio Header files with Xcode.
Carbon 2005-01-18
Determining Open Firmware configuration variables (HTML) ()
HW56: Discusses how to determine the Open Firmware variables on a system.
Hardware 1999-03-29
Difference between using Restart or Shut Down in the Finder's Special menu in Open Firmware (HTML) ()
HW47: Explains the differences between using Restart or Shut Down on Open Firmware
Hardware 1999-02-15
Disabling a Processor on a Multiprocessor System (HTML) ()
QA1141: Describes how to disable a processor on a multiprocessor system for testing purposes.
Performance 2002-05-22
Expansion ROM device properties (HTML) ()
HW50: Describes the Open Firmware properties that should be included in a boot device's expansion ROM.
Device Drivers, Hardware 1999-03-29
Generating an NMI Without a Programmer's Switch (HTML) ()
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
Device Drivers 2004-04-26
Getting started with Forth (HTML) ()
HW53: Describes where FCode driver developers can get information about the Forth programming language.
Device Drivers, Hardware 1999-03-29
HID Manager Event Data Underruns (HTML)
QA1038: Explains how to correctly handle HID Manager event queue data underruns.
Apple Applications 2001-06-13
How to handle audio data with magic cookie information (HTML)
QA1318: How to handle sound files with magic cookies when using an AudioConverter.
Core Audio 2003-10-22
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
Device Drivers 2003-10-28
IODeviceTree & the IORegistry (HTML) ()
QA1120: Describes the IODeviceTree plane in the Mac OS X IORegistry.
Device Drivers 2002-02-13
IOKit Framework Headers (HTML) ()
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
Device Drivers, Hardware 2002-01-15
Is the Open Firmware device tree object oriented? (HTML)
HW80: Discusses the object-oriented attributes of the Open Firmware device tree.
Device Drivers, Hardware 1999-11-15
MACE Restrictions (HTML) ()
Deprecated - SND16: MACE algorithms only support the compression of 8-bit offset binary sound.
Carbon 1999-06-08
Making Input Gain Setting Changes (HTML) ()
Deprecated - SND01: Changing the input gain setting on older Power Macs before recording.
Carbon 1996-06-01
Music Player Sequence Destinations (HTML) ()
QA1330: Provides clarification on MIDI Endpoints and assigning MIDI data flow.
MIDI 2004-01-15
Obtaining the name of an external MIDI Device from a MIDI Endpoint (HTML)
QA1374: Get the names of external MIDI Devices from MIDI Endpoints.
Hardware, MIDI 2004-12-01
The "packages" node in the device tree (HTML)
HW90: Describes the "packages" node in the Open Firmware device tree.
Hardware 2000-09-05
PCI Type 1 Cycles (HTML)
HW26: Describes the circumstances when the PowerMac generates a Configuration Type 1 command.
Hardware 1995-07-15
Playing QuickTime 3 Movie Sound Data (HTML) ()
QTMTB50: Explains why a movie's sound data can continue to play longer than video data.
QuickTime 1998-11-09
Recording Compressed Sounds (HTML) ()
Deprecated - SND14: Sound Manager and sound input driver compression options are limited to allow interrupt time recording.
Carbon 1998-04-12
Retain Counts of io_object_t Objects in IOKit.framework (HTML) ()
QA1195: Distinguishes between the retain counts of an I/O Kit kernel object and its io_object_t user space proxy.
Device Drivers 2002-09-04
Sample code for allocating an amount of dictionary space (HTML)
HW71: Discusses the allocation and the setting of memory for Dictionary space in Open Firmware.
Hardware 1999-10-11
Selecting a specific sound input source (HTML) ()
Deprecated - SND10: Using the sound input driver to select specific sound input sources.
Carbon 1998-01-16
Setting Audio Input Gain (HTML) ()
Deprecated - SND11: Setting audio input gain under Mac OS 8.1.
Carbon 1998-02-10
siActive Channels Unsupported on Some Power Macs (HTML) ()
Deprecated - SND03: siActive Channels is unsupported on some older PowerMacs (siUnknownInfoType returned by SPBGetDeviceInfo).
Carbon 1996-06-01
Signaling the end of data when using AudioConverterFillComplexBuffer (HTML)
QA1317: How to signal the end of data when using AudioConverterFillComplexBuffer to convert audio data.
Core Audio 2004-04-26
siMonitorSource Selector (HTML) ()
Deprecated - SND13: Using the sound output siMonitorAvailable, and siMonitorSource selectors.
Carbon 1998-04-12
siOSTypeInput Selectors (HTML) ()
Deprecated - SND12: The use of siOSTypeInputSource, and siOSTypeInputAvailable selectors and extracting the siOSTypeInputAvailable OSTypes returned.
Carbon 1998-04-12
siOSTypeInputAvailable Format (HTML) ()
Deprecated - SND09: The format of the data returned by the siOSTypeInputAvailable selector is SoundInfoList.
Carbon 1998-01-16
Synchronizing Sounds to Video (HTML) ()
Deprecated - SND19: Enabling regular sound callbacks under Mac OS 9 and Sound Manager 4.0.
Carbon 1999-10-05
Synchronous SysBeep (HTML) ()
Deprecated - SND18: Obtaining a synchronous SysBeep with Sound Manager 3.1.
Carbon 1999-10-05
Use NSSound instead of NSMovie for audio only playback on Mac OS X 10.3 and greater (HTML)
QA1335: Why using NSSound may be a better choice than using NSMovie for audio only playback.
Cocoa, Core Audio 2004-02-04
Using Sound control panel to configure the sound input settings (HTML) ()
SND17: Under Mac OS 9.0, configuring sound input settings isn't possible after application launch.
Carbon 1999-10-05
What is the "dump" word and how do I use it? (HTML)
HW68: Describes the function of the Open Firmware word "dump" and how it can be used.
Hardware 1999-10-11
What numeric base is the default for the Open Firmware user interface? (HTML)
HW65: Describes how the default numeric base used by the Open Firmware user interface is hexadecimal.
Hardware 1999-10-11
When to use PCMCIA, PC Card, and CardBus (HTML)
HW77: Explains the differences between PCMCIA, PC Card, and CardBus.
Hardware 1999-11-15
Why did the name of the PCI bridge change? (HTML) ()
HW59: Explains the name change of the PCI bridge to the generic name "pci" in Open Firmware.
Hardware 1999-03-29